{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Comparing Different Parsing(Coming Soon)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# OmniParse"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# !pip install omniparse-client"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## PyPDF2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## pdfminer.six:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Tabula-py"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# PyMuPDF"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Camelot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Conclusion\n",
    "\n",
    "### Text Extraction:\n",
    "- PyPDF2: Good support for text extraction.\n",
    "- pdfminer.six: Excellent support with advanced layout information extraction.\n",
    "- Tabula-py: Limited support, mainly focused on tables.\n",
    "- PyMuPDF: Strong text extraction capabilities.\n",
    "- Camelot: Primarily designed for tabular data extraction and may not provide advanced text extraction capabilities for answering questions from the content.\n",
    "\n",
    "### Image Extraction:\n",
    "- PyPDF2: Limited support.\n",
    "- pdfminer.six: Limited or no support.\n",
    "- Tabula-py: No built-in support.\n",
    "- PyMuPDF: Strong image extraction capabilities.\n",
    "- Camelot: no built-in support for image extraction.\n",
    "\n",
    "### Table Extraction:\n",
    "- PyPDF2: No built-in support.\n",
    "- pdfminer.six: No built-in support.\n",
    "- Tabula-py: Excellent support for table extraction.\n",
    "- PyMuPDF: Custom implementation required, but provides a foundation for table extraction.\n",
    "- Camelot: Excels at extracting tabular data from PDFs, which can be useful for answering questions based on structured information.\n",
    "\n",
    "### Speed of Execution:\n",
    "- PyPDF2: Speed is moderate as it may take longer for processing large PDF files.\n",
    "- pdfminer.six: Moderate speed, depending on the complexity of the PDF.\n",
    "- Tabula-py: Varies depending on the size and complexity of the tables.\n",
    "- PyMuPDF: Known for its high-performance rendering and parsing.\n",
    "- Camelot: execution speed is impressive, thanks to its efficient table extraction algorithms.\n",
    "\n",
    "### Ease of Use:\n",
    "- PyPDF2: Simple and easy to use.\n",
    "- pdfminer.six: More complex compared to other libraries.\n",
    "- Tabula-py: User-friendly interface, especially for table extraction.\n",
    "- PyMuPDF: Provides a rich set of functionalities but may have a steeper learning curve.\n",
    "- Camelot: Initial set up is tricky but otherwise good documentation for any specific use. Flexibilty to provide page numbers and page range to extrtact tables"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "build-venv",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "name": "python",
   "version": "3.11.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
